package com.david.flowable.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FlowTaskDTO implements Serializable {
    private String formflowName; //关系表名称
    private String taskId; //任务编号

    private String executionId; //任务执行编号

    private String taskName; //任务名称

    private String taskDefKey; //任务Key

    private Long assigneeId; //任务执行人Id

    private String deptName; //部门名称

    private String startDeptName; //流程发起人部门名称

    private String assigneeName; //任务执行人名称

    private String assigneeDeptName;; //任务执行人部门

    private String startUserId; //流程发起人Id

    private String startUserName; //流程发起人名称

    private String category; //流程类型

    private Object procVars; //流程变量信息

    private Object taskLocalVars; //局部变量信息

    private String deployId; //流程部署编号

    private String procDefId; //流程ID

    private String procDefKey; //流程key

    private String procDefName; //流程定义名称

    private Integer procDefVersion; //流程定义内置使用版本

    private String procInsId; //流程实例ID

    private String hisProcInsId; //历史流程实例ID

    private String duration; //任务耗时

    private FlowCommentDTO comment; //任务意见

    private String candidate; //候选执行人
    private Boolean isClaim;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime; //任务创建时间

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime finishTime; //任务完成时间

    // 原为Date格式，如报错修改回。
}
